package org.dromara.system.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.system.domain.SysUserApply;

import java.io.Serial;
import java.io.Serializable;


/**
 * 好友申请视图对象 sys_user_apply
 *
 * @author Lion Li
 * @date 2025-02-25
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = SysUserApply.class)
public class SysUserApplyVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 用户状态ID
     */
    @ExcelProperty(value = "用户状态ID")
    private Long id;

    /**
     * 标记人uid
     */
    @ExcelProperty(value = "标记人uid")
    private Long uid;

    /**
     * type=1,用户id，type=2群组id
     */
    @ExcelProperty(value = "type=1,用户id，type=2群组id")
    private Long targetId;

    /**
     * 申请信息
     */
    @ExcelProperty(value = "申请信息")
    private String msg;

    /**
     * 申请状态 1待审批 2同意
     */
    @ExcelProperty(value = "申请状态 1待审批 2同意")
    private Integer status;

    /**
     * 1：申请加好友、2：申请加群
     */
    @ExcelProperty(value = "1：申请加好友、2：申请加群")
    private Integer type;

    /**
     * 阅读状态（1:已读、0：未读）
     */
    @ExcelProperty(value = "阅读状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "1=:已读、0：未读")
    private Integer readStatus;

    /**
     * 删除状态 0：未删 1 申请人删除 2 被申请人删除 3都删
     */
    @ExcelProperty(value = "删除状态 0：未删 1 申请人删除 2 被申请人删除 3都删")
    private Integer delStatus;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;


}
